#ifndef LIGHTS_H
#define LIGHTS_H

#include "EngineApi.h"
#include "Graphics.h"

//-------------------------------------< Base >------------------------------------------------//
class ENGINE_API Light
{
protected:
	D3DLIGHT9 m_light;
	Graphics& m_graphics;

public:
	Light(Graphics &graphics);
	
	bool SetLight()
	{
		return m_graphics.SetLights(&m_light);
	}
};
//---------------------------------------------------------------------------------------------//
class ENGINE_API DirectionalLight : public Light
{
public:
	DirectionalLight(Graphics &graphics, const Vector3 &direction);
};
//---------------------------------------------------------------------------------------------//
class ENGINE_API PointLight : public Light
{
public:
	PointLight(Graphics &graphics, const Vector3 &position); 
};
//---------------------------------------------------------------------------------------------//
class ENGINE_API SpotLight : public Light
{
public:
	SpotLight(Graphics &graphics, const Vector3 &direction, const Vector3 &position);
};

#endif//LIGHTS_H

//directxtutorial.com